package ytr.android.sparrow;

import java.util.List;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

/**
 * <pre>
 * 参加ユーザ名設定クラスのデータ格納処理。
 * @author toki
 * </pre>
 */
public class UserSettingActivityAdapter extends ArrayAdapter<UserSettingItem> {


	/**
	 * 呼び出し元のレイアウトを操作するためのオブジェクト
	 */
	private LayoutInflater mLayoutInflater;

	/**
	 * リストビューコントロールクラス
	 */
	static class ViewHolder {
		ImageView imageView;
		TextView textView;
	}

	/**
	 * コンストラクタ
	 * @param context
	 * @param textViewResourceId
	 * @param objects
	 */
	public UserSettingActivityAdapter(Context context, int textViewResourceId, List<UserSettingItem> objects) {
		super(context, textViewResourceId, objects);
		mLayoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
	}

	/**
	 * リスト描画処理
	 */
	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		
		UserSettingItem item = (UserSettingItem)getItem(position);
		ViewHolder viewHolder;

		if (null == convertView) {
			convertView = mLayoutInflater.inflate(R.layout.user_setting_row, null);
			viewHolder = new ViewHolder();
			viewHolder.imageView = (ImageView)convertView.findViewById(R.id.userIconView);
			viewHolder.textView = (TextView)convertView.findViewById(R.id.userNameText);
			convertView.setTag(viewHolder);
		} else {
			viewHolder = (ViewHolder)convertView.getTag();
		}

		viewHolder.imageView.setImageResource(item.getResourceID());
		viewHolder.textView.setText(item.getName());
		viewHolder.textView.setTag(item.getDataBaseID());	// DBとの紐付け用

		return convertView;
	}

}


